package com.ruoyi.merchant.mapper;

import com.ruoyi.merchant.domain.Combo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 套餐Mapper接口
 */
public interface ComboMapper {
    /**
     * 查询套餐
     */
    Combo selectComboByComboId(Long comboId);

    /**
     * 查询套餐列表
     */
    List<Combo> selectComboList(Combo combo);

    /**
     * 新增套餐
     */
    int insertCombo(Combo combo);

    /**
     * 修改套餐
     */
    int updateCombo(Combo combo);

    /**
     * 删除套餐
     */
    int deleteComboByComboId(Long comboId);

    /**
     * 批量删除套餐
     */
    int deleteComboByComboIds(Long[] comboIds);

    /**
     * 批量更新套餐状态
     */
    int updateComboStatus(@Param("comboIds") Long[] comboIds, 
                         @Param("status") Integer status, 
                         @Param("merchantId") Long merchantId);

    /**
     * 按状态统计套餐数量
     */
    Map<String, Object> countComboByStatus(@Param("merchantId") Long merchantId);
}
